Virtualization of network resources has been introduced and embraced over the past several years by various types of networks. Through virtualization, some networks can be provided with greater elasticity to react and/or address demand shifts, lulls, and/or spikes. In particular, virtualization can enable quick creation and scaling of applications to address demand changes, whereas traditional network planning can entail always operating applications and other resources at levels that satisfy a highest-anticipated demand for the applications.
In one approach to virtualization, network appliances can be emulated by virtual copies of the network appliances, which can include one or more virtual functions operating on a host or node such as a virtual machine. Thus, instead of a physical server with a specific application being deployed to a network for a particular purpose, virtualization can instead enable creating a virtual version of the physical server as a virtual machine, and deploying the application to the virtual machine as a service, application, or number of virtual functions.
Virtualization therefore breaks the traditional tie between hardware and custom software. Instead, custom software can be deployed to commercial-off-the-shelf (“COTS”) hardware. This, in turn, can help reduce costs and lead time for deploying an application since custom applications and custom hardware do not have to be ordered and deployed to a network. Also, this approach can enable flexibility in terms of scaling, locating, and/or using the services.